/**
 * 页面可见性 API 工具函数
 * 用于实现动态标题变化功能
 */

/**
 * 页面可见性组合式函数（Vue 3）
 * 监听页面可见性变化，返回响应式状态
 */
export function usePageVisibility() {
  const isVisible = ref(true)
  const isHidden = ref(false)

  // 更新状态
  const updateVisibility = () => {
    if (typeof document === 'undefined') return
    
    isVisible.value = !document.hidden
    isHidden.value = document.hidden
  }

  // 监听可见性变化
  onMounted(() => {
    if (typeof document === 'undefined') return
    
    updateVisibility()
    document.addEventListener('visibilitychange', updateVisibility)
  })

  // 清理监听器
  onUnmounted(() => {
    if (typeof document === 'undefined') return
    
    document.removeEventListener('visibilitychange', updateVisibility)
  })

  return {
    isVisible: readonly(isVisible),
    isHidden: readonly(isHidden)
  }
}
